package com.athena.crm.service;

import com.athena.crm.domain.bo.TCompanyUnlockBo;
import com.athena.crm.domain.vo.TCompanyVo;
import com.athena.crm.domain.bo.TCompanyBo;
import com.athena.common.core.page.TableDataInfo;
import com.athena.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 企业信息Service接口
 *
 * @author ruoyi
 * @date 2023-06-18
 */
public interface ITCompanyService {

    /**
     * 查询企业信息
     */
    TCompanyVo queryById(String esId);

    /**
     * 查询企业信息列表
     */
    TableDataInfo<TCompanyVo> queryPageList(TCompanyBo bo, PageQuery pageQuery);

    /**
     * 查询企业信息列表
     */
    List<TCompanyVo> queryList(TCompanyBo bo);

    /**
     * 新增企业信息
     */
    Boolean insertByBo(TCompanyBo bo);

    /**
     * 修改企业信息
     */
    Boolean updateByBo(TCompanyBo bo);

    /**
     * 校验并批量删除企业信息信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 批量解锁公司信息
     *
     * @param bo
     * @param userId
     * @return
     */
    int unlockByBo(TCompanyUnlockBo bo, Long userId);

    /**
     * 符合条件的客户信息转为线索
     *
     * @param bo
     */
    void chageclue(TCompanyBo bo);
}
